@oscar.rottink Right on! I was a V-ray user for years but always loved KeyShot for the simplicity and speed.
Samples Setting – GPU Ignores It
The material “samples” setting only affects CPU rendering . On GPU, it’s effectively a dead slider doesn’t influence quality or noise reduction. Probably makes sense to disable or hide it in GPU mode for clarity.
Denoiser
KeyShot uses Nvidia OptiX as its denoiser. It works well for general noise but can smear fine texture detail (especially fabric/bump maps). My go-to setup:
-
Firefly Filter at 0.05
- Clean up noise at the material level (reduce bump depth, refine roughness/spec)
- Use denoise as a final polish, not a fix-all
V-Ray’s multi-denoiser system (Intel/V-Ray/Nvidia) is super useful, would love to see something similar in KS GPU mode
CPU vs. GPU Denoising – Dual Option in CPU Mode
In CPU mode, KeyShot supports both Intel and Nvidia denoising:
-
The Smoothing option uses Intel Open Image Denoise
-
The Denoise checkbox applies Nvidia OptiX
-
You can use them together or separately
This combo can help clean up interiors with soft lighting and complex GI, but beware of over smoothing. GPU rendering only uses Nvidia OptiX — no Intel option there (yet).
VRAM Crash = Hardware, Not Software
This isn’t a KS problem per se, once your scene exceeds available GPU memory , the driver crashes or it swaps to CPU. Some renderers (like V-Ray) allow fallback to system RAM (at a performance cost), which would be a great “safety net” in KeyShot too.
Texture Optimization – Where the Real Bottleneck Is
8-bit textures are perfectly fine for 99% of what you’ll do in KeyShot. You won’t get any real gain from using 16-bit… Unless you’re displacing geometry or exporting 16-bit masks for compositing, using 16-bit textures in KeyShot is like filling a kiddie pool with Evian, expensive, unnecessary, and no one notices the difference.
As for resolution, follow a 1:1 rule: Match your texture resolution to your render resolution and go higher only if you’re doing close-ups or extreme detail work. You’ll save VRAM, boost performance, and avoid choking your GPU for no visual benefit.
Use Packed Maps (Yes, KeyShot Supports It!)
KeyShot does support packed maps you can extract individual channels (R, G, or B) using the Color to Number
node in the Material Graph .
Example: Classic PBR Packed Map
If you’ve created a single texture like this:
- R = Metalness
- G = Roughness
- B = Ambient Occlusion
You can:
- Load that single packed texture in KeyShot.
- Drop a
Color to Number
node in the Material Graph.
- Connect it to your texture and extract the R , G , or B channels.
- Feed each channel to the appropriate material input (e.g., Roughness goes to Roughness, etc.).
Why use packed maps?
-
Memory savings — One packed 4K map (~5–6MB PNG) replaces 3 separate 4K textures (~15–20MB).
-
Easier to manage — Fewer files, tighter workflow, especially when using texture sets from tools like Substance Painter.
-
Cleaner graphs — Reduces node clutter.
Just note that KeyShot doesn’t auto-unpack or auto-tag channels — you’ll need to manually connect them in the Material Graph or I can make a script.
Texture Resolution & Bit Depth Best Practices for KeyShot (and Honestly, Most Renderers)
8-bit is perfectly fine for 95% of use cases in KeyShot:
-
Roughness, Metalness, AO, Opacity, and Bump maps don’t benefit from 16-bit in most workflows.
- Save VRAM and load time by sticking to 8-bit grayscale PNG or JPG , unless you’re doing real displacement or compositing passes.
Texture Resolution – Match the Render Context
A good general rule:
Your texture resolution should match your final render resolution — 1:1 texel to pixel wherever possible.
Render Use Case |
Texture Resolution Recommendation |
Full-scene render @ 1920×1080 |
2K texture (2048px) is more than enough |
Close-up detail shots (product macro, fabrics, logos) |
4K or 8K texture for that area only
|
Background props or far geometry |
512px to 1K max |
Per-case logic is key . Using 8K across an entire interior? Massive waste.
But zooming into a stitched logo on a shoe? That’s where high-res texture pays off.
Mipmapping – Probably Not Useful (Yet)
Mipmapping only helps if your renderer streams in textures based on distance (like Unreal or V-Ray). But KeyShot loads all textures into GPU memory at full res, so mipmapping by itself doesn’t lower VRAM usage. Without on-demand texture streaming? No real benefit.
Bonus Tip: Turn on the HUD
The in-scene HUD gives you live GPU memory usage great for diagnosing when you’re about to run out.
Note ChatGPT was used for formatting this post.* 